	.file	"progmem.cpp"
__SREG__ = 0x3f
__SP_H__ = 0x3e
__SP_L__ = 0x3d
__tmp_reg__ = 0
__zero_reg__ = 1
	.global __do_copy_data
	.global __do_clear_bss
	.stabs	"progmem.cpp",100,0,4,.Ltext0
	.text
.Ltext0:
	.stabs	"gcc2_compiled.",60,0,0,0
	.stabs	"__builtin_va_list:t(0,1)=*(0,2)=(0,2)",128,0,0,0
	.stabs	"complex long double:t(0,3)=R3;8;0;",128,0,0,0
	.stabs	"complex double:t(0,4)=R3;8;0;",128,0,0,0
	.stabs	"complex float:t(0,5)=R3;8;0;",128,0,0,0
	.stabs	"complex int:t(0,6)=s4real:(0,7)=r(0,7);-32768;32767;,0,16;imag:(0,7),16,16;;",128,0,0,0
	.stabs	"long long unsigned int:t(0,8)=r(0,8);0;-1;",128,0,0,0
	.stabs	"long unsigned int:t(0,9)=r(0,9);0;-1;",128,0,0,0
	.stabs	"unsigned int:t(0,10)=r(0,10);0;65535;",128,0,0,0
	.stabs	"unsigned char:t(0,11)=r(0,11);0;255;",128,0,0,0
	.stabs	"long long int:t(0,12)=r(0,12);0;-1;",128,0,0,0
	.stabs	"long int:t(0,13)=r(0,13);-2147483648;2147483647;",128,0,0,0
	.stabs	"int:t(0,7)",128,0,0,0
	.stabs	"signed char:t(0,14)=r(0,14);-128;127;",128,0,0,0
	.stabs	"char:t(0,15)=r(0,15);0;255;",128,0,0,0
	.stabs	"signed:t(0,7)",128,0,0,0
	.stabs	"unsigned long:t(0,9)",128,0,0,0
	.stabs	"long long unsigned:t(0,8)",128,0,0,0
	.stabs	"short int:t(0,16)=r(0,16);-32768;32767;",128,0,0,0
	.stabs	"short unsigned int:t(0,17)=r(0,17);0;65535;",128,0,0,0
	.stabs	"unsigned short:t(0,17)",128,0,0,0
	.stabs	"float:t(0,18)=r(0,7);4;0;",128,0,0,0
	.stabs	"double:t(0,19)=r(0,7);4;0;",128,0,0,0
	.stabs	"long double:t(0,20)=r(0,7);4;0;",128,0,0,0
	.stabs	"void:t(0,2)",128,0,0,0
	.stabs	"wchar_t:t(0,21)=r(0,21);-32768;32767;",128,0,0,0
	.stabs	"char16_t:t(0,22)=r(0,22);0;65535;",128,0,0,0
	.stabs	"char32_t:t(0,23)=r(0,23);0;65535;",128,0,0,0
	.stabs	"bool:t(0,24)=eFalse:0,True:1,;",128,0,0,0
	.stabs	"__vtbl_ptr_type:t(0,25)=*(0,26)=f(0,7)",128,0,0,0
	.stabs	"int8_t:t(0,27)=(0,14)",128,0,0,0
	.stabs	"uint8_t:t(0,28)=(0,11)",128,0,0,0
	.stabs	"int16_t:t(0,29)=(0,7)",128,0,0,0
	.stabs	"uint16_t:t(0,30)=(0,10)",128,0,0,0
	.stabs	"int32_t:t(0,31)=(0,13)",128,0,0,0
	.stabs	"uint32_t:t(0,32)=(0,9)",128,0,0,0
	.stabs	"int64_t:t(0,33)=(0,12)",128,0,0,0
	.stabs	"uint64_t:t(0,34)=(0,8)",128,0,0,0
	.stabs	"intptr_t:t(0,35)=(0,29)",128,0,0,0
	.stabs	"uintptr_t:t(0,36)=(0,30)",128,0,0,0
	.stabs	"int_least8_t:t(0,37)=(0,27)",128,0,0,0
	.stabs	"uint_least8_t:t(0,38)=(0,28)",128,0,0,0
	.stabs	"int_least16_t:t(0,39)=(0,29)",128,0,0,0
	.stabs	"uint_least16_t:t(0,40)=(0,30)",128,0,0,0
	.stabs	"int_least32_t:t(0,41)=(0,31)",128,0,0,0
	.stabs	"uint_least32_t:t(0,42)=(0,32)",128,0,0,0
	.stabs	"int_least64_t:t(0,43)=(0,33)",128,0,0,0
	.stabs	"uint_least64_t:t(0,44)=(0,34)",128,0,0,0
	.stabs	"int_fast8_t:t(0,45)=(0,27)",128,0,0,0
	.stabs	"uint_fast8_t:t(0,46)=(0,28)",128,0,0,0
	.stabs	"int_fast16_t:t(0,47)=(0,29)",128,0,0,0
	.stabs	"uint_fast16_t:t(0,48)=(0,30)",128,0,0,0
	.stabs	"int_fast32_t:t(0,49)=(0,31)",128,0,0,0
	.stabs	"uint_fast32_t:t(0,50)=(0,32)",128,0,0,0
	.stabs	"int_fast64_t:t(0,51)=(0,33)",128,0,0,0
	.stabs	"uint_fast64_t:t(0,52)=(0,34)",128,0,0,0
	.stabs	"intmax_t:t(0,53)=(0,33)",128,0,0,0
	.stabs	"uintmax_t:t(0,54)=(0,34)",128,0,0,0
	.stabs	"int_farptr_t:t(0,55)=(0,31)",128,0,0,0
	.stabs	"uint_farptr_t:t(0,56)=(0,32)",128,0,0,0
	.stabs	"size_t:t(0,57)=(0,10)",128,0,0,0
	.stabs	"._0:T(0,58)=s3low:(0,11),0,8;high:(0,11),8,8;extended:(0,11),16,8;;",128,0,0,0
	.stabs	"._0:t(0,58)",128,0,0,0
	.stabs	"__fuse_t:t(0,58)",128,0,0,0
	.stabs	"prog_void:t(0,59)=(0,2)",128,0,0,0
	.stabs	"prog_char:t(0,60)=(0,15)",128,0,0,0
	.stabs	"prog_uchar:t(0,61)=(0,11)",128,0,0,0
	.stabs	"prog_int8_t:t(0,62)=(0,27)",128,0,0,0
	.stabs	"prog_uint8_t:t(0,63)=(0,28)",128,0,0,0
	.stabs	"prog_int16_t:t(0,64)=(0,29)",128,0,0,0
	.stabs	"prog_uint16_t:t(0,65)=(0,30)",128,0,0,0
	.stabs	"prog_int32_t:t(0,66)=(0,31)",128,0,0,0
	.stabs	"prog_uint32_t:t(0,67)=(0,32)",128,0,0,0
	.stabs	"prog_int64_t:t(0,68)=(0,33)",128,0,0,0
	.stabs	"prog_uint64_t:t(0,69)=(0,34)",128,0,0,0
.global	pmPrompt
	.section	.progmem.data,"a",@progbits
	.type	pmPrompt, @object
	.size	pmPrompt, 9
pmPrompt:
	.string	"atbios %"
.global	pmUnkCmd
	.type	pmUnkCmd, @object
	.size	pmUnkCmd, 33
pmUnkCmd:
	.string	"<<ERROR>> %s: unknown command.\r\n"
.global	crlf
	.type	crlf, @object
	.size	crlf, 3
crlf:
	.string	"\r\n"
.global	ok
	.type	ok, @object
	.size	ok, 5
ok:
	.string	"ok\r\n"
.global	failed
	.type	failed, @object
	.size	failed, 9
failed:
	.string	"failed\r\n"
.global	pmThreeS
	.type	pmThreeS, @object
	.size	pmThreeS, 11
pmThreeS:
	.string	"%s %s %s\r\n"
.global	pmFourS
	.type	pmFourS, @object
	.size	pmFourS, 14
pmFourS:
	.string	"%s %s %s %s\r\n"
.global	pmThreeI
	.type	pmThreeI, @object
	.size	pmThreeI, 11
pmThreeI:
	.string	"%d %d %d\r\n"
.global	pmFourI
	.type	pmFourI, @object
	.size	pmFourI, 14
pmFourI:
	.string	"%d %d %d %d\r\n"
.global	preCnct
	.type	preCnct, @object
	.size	preCnct, 43
preCnct:
	.string	"Connected via USART0 at %u baud, 8N1 ...\r\n"
.global	greetz
	.type	greetz, @object
	.size	greetz, 73
greetz:
	.ascii	"________"
	.string	"________.oO[ munix ATBIOS Debug Console ]Oo.________________\r\n\r\n"
.global	pmBIOSPortTest
	.type	pmBIOSPortTest, @object
	.size	pmBIOSPortTest, 72
pmBIOSPortTest:
	.ascii	"       "
	.string	"                                    [Pase 1 - BIOS Port Test ]\r\n"
.global	fwVersion
	.type	fwVersion, @object
	.size	fwVersion, 33
fwVersion:
	.string	"ATBIOS firmware version: %d.%d\r\n"
.global	hwVersion
	.type	hwVersion, @object
	.size	hwVersion, 63
hwVersion:
	.string	"Running on an %s at %d MHz with instruction set <avr5> (%s) \r\n"
.global	pmBIOSProxy
	.type	pmBIOSProxy, @object
	.size	pmBIOSProxy, 53
pmBIOSProxy:
	.string	"Succesfully initialized two objects on the SPI bus\r\n"
.global	pmBIOSProxy1
	.type	pmBIOSProxy1, @object
	.size	pmBIOSProxy1, 56
pmBIOSProxy1:
	.string	"  --> Flash config memory @ 0x%d on port 0x%d, pin %d\r\n"
.global	pmBIOSProxy2
	.type	pmBIOSProxy2, @object
	.size	pmBIOSProxy2, 26
pmBIOSProxy2:
	.string	"      --> Device ID: %d\r\n"
.global	pmBIOSProxy3
	.type	pmBIOSProxy3, @object
	.size	pmBIOSProxy3, 28
pmBIOSProxy3:
	.string	"      --> Device Type: %d\r\n"
.global	pmBIOSProxy4
	.type	pmBIOSProxy4, @object
	.size	pmBIOSProxy4, 26
pmBIOSProxy4:
	.string	"      --> Capacity: %d \r\n"
.global	pmBIOSProxy5
	.type	pmBIOSProxy5, @object
	.size	pmBIOSProxy5, 55
pmBIOSProxy5:
	.string	"  --> Temperature sensor @ 0x%d on port 0x%d, pin %d\r\n"
.global	pmBIOSProxy6
	.type	pmBIOSProxy6, @object
	.size	pmBIOSProxy6, 58
pmBIOSProxy6:
	.string	"Succesfully initialized one object on the I2C (TWI) bus\r\n"
.global	pmBIOSProxy7
	.type	pmBIOSProxy7, @object
	.size	pmBIOSProxy7, 52
pmBIOSProxy7:
	.string	"  --> Real Time Clock @ 0x%d on port 0x%d, pin %d\r\n"
.global	pmBIOSProxy8
	.type	pmBIOSProxy8, @object
	.size	pmBIOSProxy8, 48
pmBIOSProxy8:
	.string	"Initializing directly attached on port 0x%04u\r\n"
.global	pmBIOSProxy9
	.type	pmBIOSProxy9, @object
	.size	pmBIOSProxy9, 51
pmBIOSProxy9:
	.string	"  --> System voltage: %dV  Circuit current: %d A\r\n"
.global	pmBIOSProxy10
	.type	pmBIOSProxy10, @object
	.size	pmBIOSProxy10, 34
pmBIOSProxy10:
	.string	"  --> Configuring thumbstick...\r\n"
.global	pmBIOSProxy11
	.type	pmBIOSProxy11, @object
	.size	pmBIOSProxy11, 50
pmBIOSProxy11:
	.string	"  --> Setting up interrupt controller systime()\r\n"
.global	pmBIOSProxy12
	.type	pmBIOSProxy12, @object
	.size	pmBIOSProxy12, 41
pmBIOSProxy12:
	.string	"  --> The AVR Multi-Processing System:\r\n"
.global	pmBIOSProxy13
	.type	pmBIOSProxy13, @object
	.size	pmBIOSProxy13, 46
pmBIOSProxy13:
	.string	"  --> SPI Bus and GPIO expander configured.\r\n"
.global	pmBIOSProxy14
	.type	pmBIOSProxy14, @object
	.size	pmBIOSProxy14, 50
pmBIOSProxy14:
	.string	"  --> Setting up interrupt controller systemp()\r\n"
.global	pmMenuOpt
	.type	pmMenuOpt, @object
	.size	pmMenuOpt, 56
pmMenuOpt:
	.string	"Press F8 to enter ATBIOS menu or F5 for ATBIOS console."
.global	pmPOST1
	.type	pmPOST1, @object
	.size	pmPOST1, 18
pmPOST1:
	.string	"ATBIOS Starting\r\n"
.global	pmPOST2
	.type	pmPOST2, @object
	.size	pmPOST2, 18
pmPOST2:
	.string	"MCU negotiation\r\n"
.global	pmPOST3
	.type	pmPOST3, @object
	.size	pmPOST3, 30
pmPOST3:
	.string	"Holding MCU cores in !RESET\r\n"
.global	pmPOST4
	.type	pmPOST4, @object
	.size	pmPOST4, 26
pmPOST4:
	.string	"Looking for system SRAM\r\n"
.global	pmPOST5
	.type	pmPOST5, @object
	.size	pmPOST5, 22
pmPOST5:
	.string	"Testing system SRAM\r\n"
.global	pmPOST6
	.type	pmPOST6, @object
	.size	pmPOST6, 19
pmPOST6:
	.string	"Establishing PLL\r\n"
.global	pmPOST7
	.type	pmPOST7, @object
	.size	pmPOST7, 22
pmPOST7:
	.string	"Engaging video BIOS\r\n"
.global	pmPOST8
	.type	pmPOST8, @object
	.size	pmPOST8, 19
pmPOST8:
	.string	"Memory self test\r\n"
.global	pmPOST9
	.type	pmPOST9, @object
	.size	pmPOST9, 19
pmPOST9:
	.string	"Address Bus test\r\n"
.global	pmPOST0a
	.type	pmPOST0a, @object
	.size	pmPOST0a, 19
pmPOST0a:
	.string	"Control Bus test\r\n"
.global	pmPOST0b
	.type	pmPOST0b, @object
	.size	pmPOST0b, 31
pmPOST0b:
	.string	"Establishing busmaster comms\r\n"
.global	pmPOST0c
	.type	pmPOST0c, @object
	.size	pmPOST0c, 30
pmPOST0c:
	.string	"Running known hardware BIOS\r\n"
.global	pmPOST0d
	.type	pmPOST0d, @object
	.size	pmPOST0d, 31
pmPOST0d:
	.string	"Probing device address space\r\n"
.global	pmPOST0e
	.type	pmPOST0e, @object
	.size	pmPOST0e, 23
pmPOST0e:
	.string	"Looking for keyboard\r\n"
.global	pmPOST0f
	.type	pmPOST0f, @object
	.size	pmPOST0f, 20
pmPOST0f:
	.string	"Looking for mouse\r\n"
.global	pmPOST10
	.type	pmPOST10, @object
	.size	pmPOST10, 20
pmPOST10:
	.string	"Probing for flash\r\n"
.global	pmPOST11
	.type	pmPOST11, @object
	.size	pmPOST11, 21
pmPOST11:
	.string	"Probing for EEPROM\r\n"
.global	pmPOST12
	.type	pmPOST12, @object
	.size	pmPOST12, 33
pmPOST12:
	.string	"Probing USB ports, enumerating\r\n"
.global	pmPOST13
	.type	pmPOST13, @object
	.size	pmPOST13, 23
pmPOST13:
	.string	"Probing serial ports\r\n"
.global	pmPOST14
	.type	pmPOST14, @object
	.size	pmPOST14, 36
pmPOST14:
	.string	"Probing external hardware manager\r\n"
.global	pmPOST15
	.type	pmPOST15, @object
	.size	pmPOST15, 28
pmPOST15:
	.string	"Loading interrupt vectors\r\n"
.global	pmPOST16
	.type	pmPOST16, @object
	.size	pmPOST16, 24
pmPOST16:
	.string	"Testing MCU ALE latch\r\n"
.global	pmPOST17
	.type	pmPOST17, @object
	.size	pmPOST17, 14
pmPOST17:
	.string	"Testing DMA\r\n"
.global	pmPOST18
	.type	pmPOST18, @object
	.size	pmPOST18, 19
pmPOST18:
	.string	"Checking battery\r\n"
.global	pmPOST19
	.type	pmPOST19, @object
	.size	pmPOST19, 15
pmPOST19:
	.string	"Checking RTC\r\n"
.global	pmPOST1a
	.type	pmPOST1a, @object
	.size	pmPOST1a, 27
pmPOST1a:
	.string	"Probe num/caps lock keys\r\n"
.global	pmPOST1b
	.type	pmPOST1b, @object
	.size	pmPOST1b, 35
pmPOST1b:
	.string	"Copying video BIOS to shadow RAM\r\n"
.global	pmPOST1c
	.type	pmPOST1c, @object
	.size	pmPOST1c, 36
pmPOST1c:
	.string	"Copying system BIOS to shadow RAM\r\n"
.global	pmPOST1d
	.type	pmPOST1d, @object
	.size	pmPOST1d, 35
pmPOST1d:
	.string	"Running interactive on next boot\r\n"
.global	pmPOST1e
	.type	pmPOST1e, @object
	.size	pmPOST1e, 28
pmPOST1e:
	.string	"Calculating CMOS checksum\r\n"
.global	pmPOST1f
	.type	pmPOST1f, @object
	.size	pmPOST1f, 27
pmPOST1f:
	.string	"Updating ATBIOS firmware\r\n"
	.stabs	"pmPrompt:G(0,70)=ar(0,71)=r(0,71);0;-1;;0;8;(0,15)",32,0,0,0
	.stabs	"pmUnkCmd:G(0,72)=ar(0,71);0;32;(0,15)",32,0,0,0
	.stabs	"crlf:G(0,73)=ar(0,71);0;2;(0,15)",32,0,0,0
	.stabs	"fwVersion:G(0,72)",32,0,0,0
	.stabs	"hwVersion:G(0,74)=ar(0,71);0;62;(0,15)",32,0,0,0
	.stabs	"ok:G(0,75)=ar(0,71);0;4;(0,15)",32,0,0,0
	.stabs	"pmThreeS:G(0,76)=ar(0,71);0;10;(0,15)",32,0,0,0
	.stabs	"pmThreeI:G(0,76)",32,0,0,0
	.stabs	"pmFourS:G(0,77)=ar(0,71);0;13;(0,15)",32,0,0,0
	.stabs	"pmFourI:G(0,77)",32,0,0,0
	.stabs	"failed:G(0,70)",32,0,0,0
	.stabs	"preCnct:G(0,78)=ar(0,71);0;42;(0,15)",32,0,0,0
	.stabs	"pmMenuOpt:G(0,79)=ar(0,71);0;55;(0,15)",32,0,0,0
	.stabs	"pmBIOSPortTest:G(0,80)=ar(0,71);0;71;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy:G(0,81)=ar(0,71);0;52;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy1:G(0,79)",32,0,0,0
	.stabs	"pmBIOSProxy2:G(0,82)=ar(0,71);0;25;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy3:G(0,83)=ar(0,71);0;27;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy4:G(0,82)",32,0,0,0
	.stabs	"pmBIOSProxy5:G(0,84)=ar(0,71);0;54;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy6:G(0,85)=ar(0,71);0;57;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy7:G(0,86)=ar(0,71);0;51;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy8:G(0,87)=ar(0,71);0;47;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy9:G(0,88)=ar(0,71);0;50;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy10:G(0,89)=ar(0,71);0;33;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy11:G(0,90)=ar(0,71);0;49;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy12:G(0,91)=ar(0,71);0;40;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy13:G(0,92)=ar(0,71);0;45;(0,15)",32,0,0,0
	.stabs	"pmBIOSProxy14:G(0,90)",32,0,0,0
	.stabs	"greetz:G(0,93)=ar(0,71);0;72;(0,15)",32,0,0,0
	.stabs	"pmPOST1:G(0,94)=ar(0,71);0;17;(0,15)",32,0,0,0
	.stabs	"pmPOST2:G(0,94)",32,0,0,0
	.stabs	"pmPOST3:G(0,95)=ar(0,71);0;29;(0,15)",32,0,0,0
	.stabs	"pmPOST4:G(0,82)",32,0,0,0
	.stabs	"pmPOST5:G(0,96)=ar(0,71);0;21;(0,15)",32,0,0,0
	.stabs	"pmPOST6:G(0,97)=ar(0,71);0;18;(0,15)",32,0,0,0
	.stabs	"pmPOST7:G(0,96)",32,0,0,0
	.stabs	"pmPOST8:G(0,97)",32,0,0,0
	.stabs	"pmPOST9:G(0,97)",32,0,0,0
	.stabs	"pmPOST0a:G(0,97)",32,0,0,0
	.stabs	"pmPOST0b:G(0,98)=ar(0,71);0;30;(0,15)",32,0,0,0
	.stabs	"pmPOST0c:G(0,95)",32,0,0,0
	.stabs	"pmPOST0d:G(0,98)",32,0,0,0
	.stabs	"pmPOST0e:G(0,99)=ar(0,71);0;22;(0,15)",32,0,0,0
	.stabs	"pmPOST0f:G(0,100)=ar(0,71);0;19;(0,15)",32,0,0,0
	.stabs	"pmPOST10:G(0,100)",32,0,0,0
	.stabs	"pmPOST11:G(0,101)=ar(0,71);0;20;(0,15)",32,0,0,0
	.stabs	"pmPOST12:G(0,72)",32,0,0,0
	.stabs	"pmPOST13:G(0,99)",32,0,0,0
	.stabs	"pmPOST14:G(0,102)=ar(0,71);0;35;(0,15)",32,0,0,0
	.stabs	"pmPOST15:G(0,83)",32,0,0,0
	.stabs	"pmPOST16:G(0,103)=ar(0,71);0;23;(0,15)",32,0,0,0
	.stabs	"pmPOST17:G(0,77)",32,0,0,0
	.stabs	"pmPOST18:G(0,97)",32,0,0,0
	.stabs	"pmPOST19:G(0,104)=ar(0,71);0;14;(0,15)",32,0,0,0
	.stabs	"pmPOST1a:G(0,105)=ar(0,71);0;26;(0,15)",32,0,0,0
	.stabs	"pmPOST1b:G(0,106)=ar(0,71);0;34;(0,15)",32,0,0,0
	.stabs	"pmPOST1c:G(0,102)",32,0,0,0
	.stabs	"pmPOST1d:G(0,106)",32,0,0,0
	.stabs	"pmPOST1e:G(0,83)",32,0,0,0
	.stabs	"pmPOST1f:G(0,105)",32,0,0,0
	.text
	.stabs	"",100,0,0,.Letext0
.Letext0:
